package com.example.myblog1_0.service;

import com.example.myblog1_0.model.Article;
import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @Author: xc
 * @Date: 2018/12/15 18:47
 * @Description:
 **/
@Service
public interface ArticleService {
    /**
     * 根据文章标题查询文章
     * @param title 文章标题
     * @return 查询到的对象
     */
    Article findArticleByTitle(String title);

    /**
     * 按时间查找文章
     * @param time 时间
     * @return
     */
    Article findArticleByTime(String time);
    /**
     * 插入文章数据
     * @param article 文章对象
     * @return 插入成功返回true
     */
    boolean insetArticle(Article article);

    /**
     *  按降序排列所有文章
     * @return 文章对象集合
     */
    List<Article> findAllArticleDesc();
    /**
     * 根据id查找文章名称
     * @param id
     * @return
     */

    Map<String,String> findArticleById(String id);
    /**
     * 根据id获得文章
     * @param id
     * @return
     */
    JSONObject getArticleByArticleId(String id);


    /**
     * 根据文章类型获得部分信息
     * @param categoriesName
     * @return
     */
    JSONObject getArticlePartInfoByCategory(String categoriesName,int rows,int pageNum);

    /**
     * 获得文章管理信息
     * @param rows 分页信息
     * @param currentPage
     * @return
     */
    JSONObject getArticleManage(int rows,int currentPage);

    /**
     * 根据id删除文章
     * @param id
     * @return
     */
    JSONObject deleteArticleById(String id);

    /**
        更新文章链接
     */
    boolean updateUrlByTime(Article article);
    /**
     * 更新文章
     */
    JSONObject updateArticleByID(Article article);

    /**
     * 倒叙排列文章
     * @param row
     * @param currentPage
     * @return
     */
    JSONObject getAllArticleDesc(int row,int currentPage);
}
